typedef char *(*func_stypes1) (char *);
func_stypes1 bot_get_mask;

typedef char **(*func_sstypes1) (char *);
func_sstypes1 bot_get_userlist;
func_sstypes1 bot_get_chanlist;

typedef char *(*func_stypes1list2) (char *, ...);
func_stypes1list2 strf;
func_stypes1list2 multi_str_replace;
func_stypes1list2 multi_str_suppr;

typedef void (*func_vtypes1list1) (char *, ...);
func_vtypes1list1 log_module_infof;
func_vtypes1list1 bot_send_rawf;

typedef void (*func_vtypeml) (module_list *);
func_vtypeml bot_free_module_list;

typedef char *(*func_stypec1u1) (char *, unsigned int);
func_stypec1u1 bot_get_info_from_conf;

typedef module_list *(*func_mltype0) (void);
func_mltype0 bot_get_module_list;

typedef void (*func_vtypec1s1) (int, char *);
func_vtypec1s1 bot_add_timeout_handler;

typedef void (*func_vtypei1s1pv1ui1) (int, char *, void *, unsigned int);
func_vtypei1s1pv1ui1 bot_add_timeout_with_param_handler;

typedef char *(*func_ctype0) (void);
func_ctype0 bot_get_kernel_version;

typedef char *(*func_ctype4) (char **, int, char *, int);
func_ctype4 argu_to_string;

typedef char *(*func_ctype3c) (char *, char *, char *);
func_ctype3c str_replace;

typedef char *(*func_ctype2c) (char *, char *);
func_ctype2c str_suppr;

typedef int (*func_itype2) (char *, char *);
func_itype2 cmpstar;

typedef int (*func_itype1) (char *);
func_itype1 bot_unload_module;
func_itype1 bot_load_module;
func_itype1 bot_unload_module_cmd;
func_itype1 bot_load_module_cmd;
func_itype1 is_botnick;
func_itype1 bot_rm_cmd_handler;
func_itype1 bot_rm_type_handler;

typedef void (*func_vtype1) (char *);
func_vtype1 bot_set_ident_module;
func_vtype1 bot_set_auteur_module;
func_vtype1 bot_set_desc_module;
func_vtype1 bot_set_version_module;
func_vtype1 log_module_info;
func_vtype1 bot_send_raw;
func_vtype1 clean_txt;
func_vtype1 module_loader_rm_link;

typedef void (*func_vtypes2list1) (char *, char *, ...);
func_vtypes2list1 bot_send_privmsgf;
func_vtypes2list1 bot_send_noticef;

typedef void (*func_vtype2) (char *, char *);
func_vtype2 bot_send_privmsg;
func_vtype2 bot_send_notice;
func_vtype2 bot_add_cmd_handler;
func_vtype2 bot_add_type_handler;
func_vtype2 module_loader_add_link;

typedef void (*func_vtype0) (void);
func_vtype0 bot_protect_time_module;
func_vtype0 bot_unprotect_time_module;
func_vtype0 bot_actualise_ping;
func_vtype0 compar;

typedef unsigned int (*func_uitype0) (void);
func_uitype0 bot_get_time_up;

typedef int (*func_itypeS1) (identity *, char *);
func_itypeS1 identify_mask;

typedef void (*func_vtypeS1) (identity *);
func_vtypeS1 free_identity;

typedef conf *(*func_btype0) (void);
func_btype0 bot_conf_get_addr;

#ifndef _SHARED_FUNC
#define _SHARED_FUNC

void
init_share_dep (char *nom, void *addr)
{
  if (!strcmp (nom, "log_module_info"))
    log_module_info = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_set_ident_module"))
    bot_set_ident_module = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_set_auteur_module"))
    bot_set_auteur_module = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_set_desc_module"))
    bot_set_desc_module = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_set_version_module"))
    bot_set_version_module = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_send_privmsg"))
    bot_send_privmsg = (func_vtype2) addr;

  else if (!strcmp (nom, "bot_send_notice"))
    bot_send_notice = (func_vtype2) addr;

  else if (!strcmp (nom, "bot_send_raw"))
    bot_send_raw = (func_vtype1) addr;

  else if (!strcmp (nom, "bot_add_cmd_handler"))
    bot_add_cmd_handler = (func_vtype2) addr;

  else if (!strcmp (nom, "bot_add_type_handler"))
    bot_add_type_handler = (func_vtype2) addr;

  else if (!strcmp (nom, "bot_get_time_up"))
    bot_get_time_up = (func_uitype0) addr;

  else if (!strcmp (nom, "is_botnick"))
    is_botnick = (func_itype1) addr;

  else if (!strcmp (nom, "identify_mask"))
    identify_mask = (func_itypeS1) addr;

  else if (!strcmp (nom, "bot_unload_module"))
    bot_unload_module = (func_itype1) addr;

  else if (!strcmp (nom, "bot_load_module"))
    bot_load_module = (func_itype1) addr;

  else if (!strcmp (nom, "bot_unload_module_cmd"))
    bot_unload_module_cmd = (func_itype1) addr;

  else if (!strcmp (nom, "bot_load_module_cmd"))
    bot_load_module_cmd = (func_itype1) addr;
  
  else if (!strcmp (nom, "bot_actualise_ping"))
    bot_actualise_ping = (func_vtype0) addr;

  else if (!strcmp (nom, "bot_get_kernel_version"))
    bot_get_kernel_version = (func_ctype0) addr;

  else if (!strcmp (nom, "module_loader_add_link"))
    module_loader_add_link = (func_vtype2) addr;

  else if (!strcmp (nom, "module_loader_rm_link"))
    module_loader_rm_link = (func_vtype1) addr;

  else if (!strcmp (nom, "log_module_info"))
    log_module_info = (func_vtype1) addr;

  else if (!strcmp (nom, "clean_txt"))
    clean_txt = (func_vtype1) addr;

  else if (!strcmp (nom, "cmpstar"))
    cmpstar = (func_itype2) addr;

  else if (!strcmp (nom, "compar"))
    compar = (func_vtype0) addr;

  else if (!strcmp (nom, "bot_conf_get_addr"))
    bot_conf_get_addr = (func_btype0) addr;

  else if (!strcmp (nom, "argu_to_string"))
    argu_to_string = (func_ctype4) addr;

  else if (!strcmp (nom, "bot_free_module_list"))
    bot_free_module_list = (func_vtypeml) addr;

  else if (!strcmp (nom, "bot_get_info_from_conf"))
    bot_get_info_from_conf = (func_stypec1u1) addr;

  else if (!strcmp (nom, "bot_get_module_list"))
    bot_get_module_list = (func_mltype0) addr;

  else if (!strcmp (nom, "bot_add_timeout_handler"))
    bot_add_timeout_handler = (func_vtypec1s1) addr;

  else if (!strcmp (nom, "str_replace"))
    str_replace = (func_ctype3c) addr;

  else if (!strcmp (nom, "bot_protect_time_module"))
    bot_protect_time_module = (func_vtype0) addr;

  else if (!strcmp (nom, "bot_unprotect_time_module"))
    bot_unprotect_time_module = (func_vtype0) addr;

  else if (!strcmp (nom, "bot_add_timeout_with_param_handler"))
    bot_add_timeout_with_param_handler = (func_vtypei1s1pv1ui1) addr;

  else if (!strcmp (nom, "strf"))
    strf = (func_stypes1list2) addr;

  else if (!strcmp (nom, "log_module_infof"))
    log_module_infof = (func_vtypes1list1) addr;

  else if (!strcmp (nom, "str_suppr"))
    str_suppr = (func_ctype2c) addr;

  else if (!strcmp (nom, "bot_send_rawf"))
    bot_send_rawf = (func_vtypes1list1) addr;

  else if (!strcmp (nom, "bot_send_noticef"))
    bot_send_noticef = (func_vtypes2list1) addr;

  else if (!strcmp (nom, "bot_send_privmsgf"))
    bot_send_privmsgf = (func_vtypes2list1) addr;

  else if (!strcmp (nom, "free_identity"))
    free_identity = (func_vtypeS1) addr;

  else if (!strcmp (nom, "bot_get_userlist"))
    bot_get_userlist = (func_sstypes1) addr;

  else if (!strcmp (nom, "bot_get_chanlist"))
    bot_get_chanlist = (func_sstypes1) addr;

  else if (!strcmp (nom, "multi_str_replace"))
    multi_str_replace = (func_stypes1list2) addr;

  else if (!strcmp (nom, "multi_str_suppr"))
    multi_str_suppr = (func_stypes1list2) addr;
  
   else if (!strcmp (nom, "bot_get_mask"))
    bot_get_mask = (func_stypes1) addr;
   
   else if (!strcmp (nom, "bot_rm_type_handler"))
    bot_rm_type_handler = (func_itype1) addr;
   
   else if (!strcmp (nom, "bot_rm_cmd_handler"))
    bot_rm_cmd_handler = (func_itype1) addr;
}

#endif
